package org.infoset.xml;

import java.net.*;

/**
 * This interface represents something that is named.
 * @author <a href="mailto:alex@milowski.com">R. Alexander Milowski</a>
 */
public interface Named {

   /** 
    * Return the name of the object.
    */
   Name getName();

   /**
    * Sets the name of the object.
    * @param name The name to set.
    */
   void setName(Name name);

   /**
    * Sets the name of the object.
    * @param localName The local name to use and the namespace name is assumed to be URI.NO_NAMESPACE
    */
   void setName(String localName);

   /**
    * Sets the name of the object.
    * @param namespaceName The namespace name to use.
    * @param localName The local name to use.
    */
   void setName(URI namespaceName,String localName);

}
